# -*- coding: utf-8 -*-
"""
@Version : 
@Author  : ChenMZ
@Time    : 2025/09/19
@File    : _dev_model.py
@Desc    : 
@Modify  : 
"""
from typing import (Dict, Union, List)
from abc import ABC, abstractmethod


class Dev(ABC):
    @abstractmethod
    def get_dev_name(self) -> str:
        pass

    @abstractmethod
    def get_detail_info(self) -> Dict[str, Union[str, bool, float, int]]:
        pass

    @abstractmethod
    def refresh(self):
        pass

    @abstractmethod
    def get_usage(self):
        pass


class DevGroup(ABC):
    @abstractmethod
    def get_dev(self) -> List[Dev]:
        pass
